<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //  1、如何判断数组的类型
        //    Array.isArray()>>>>true
        //    instanceof >>>>true
        //  2、如何遍历一个数组
        //   for循环
        //  3、移除数组 [1, 2, 3, 4, 2] 中所有的 2，不要直接修改数组，结果返回新的数组
               var arr = [1, 2, 3, 4, 2]
               var num = [];
               for(var i = 0; i < arr.length; i++){
                if(arr[i] !== 2){
                    num.push(arr[i])
                }
               }
               console.log(num);
        //  4、求出该数组中的最大值和最小值 [96, 97, 76, 87, 87, 90, 91, 99, 78, 56];
             var arr = [96, 97, 76, 87, 87, 90, 91, 99, 78, 56];
                var sum = arr[0];
                var bom = arr[0];
                
                for(var i = 0; i < arr.length; i++){
                    if(sum < arr[i]){
                        sum = arr[i];
                    }
                    if(bom > arr[i]){
                        bom = arr[i];
                    }
                }
             console.log(sum,bom);
        //  5、移除数组中所有为“无效”的元素，直接在原数组上进行操作，不能引入新数组 ["有效", "无效", "有效", "无效", "无效", "有效"]
              var arr = ["有效", "无效", "有效", "无效", "无效", "有效"]
              for(var i = 0; i < arr.length; i++){
                if(arr[i] === "无效"){
                    arr.splice(i,1);
                    i--;
                }
              }
              console.log(arr);

        //  6、定义一个函数，能在数组 [1, 2, 3, 4, 2] 的 "2"后面添加元素 "Melon"。不要直接修改数组 arr，结果返回新的数组
        function fn(array){
            var num = [];
            for(var i = 0; i < array.length;i++){
                if(array[i] == 2){
                    num.push(2, "Melon");
                }else{
                    num.push(array[i]);
                }
            }
            return num;
        }
        console.log(fn([1, 2, 3, 4, 2]));
            //    var arr = [1, 2, 3, 4, 2]
            //    var res = arr.splice(2,0,"Melon");
            //    console.log(arr.push("Melon"))
            //    console.log(arr);
        //  7、统计数组 [1, 2, 3, 4, 2, 3, 5, 2] 中2出现的次数
                var arr = [1, 2, 3, 4, 2, 3, 5, 2]
                var num = 0;
                for(var i =0; i<arr.length;i++){
                if(arr[i]==2){
                num++;
               }
             }
              console.log(num);
        //  8、找出数组 [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"] 中重复出现过的元素，并用数组将重复元素装起来输出。输出结果为：[2, "melon", 4]
               var arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"]
               var bonm = [];
               for(var i = 0; i <arr.length; i++){
                if(arr.indexOf(arr[i]) !=i && !bonm.includes(arr[i])){
                    bonm.push(arr[i]);
                }
               }
               console.log(bonm);
               
        //  9、设计一个函数，该函数接收一个数组，并能返回一个被倒序的数组。举例：传入 [1,5,3] 返回 [3,5,1]
             var arr = [3,6,9,10]
             function fn(arr){
                var bon = [];
                for(var i = arr.length -1;i >= 0; i--){
                    bon.push(arr[i])
                }
                return bon;
             }
             console.log(fn([3,6,9,10]));
        //  10、算法题：设计一个函数，函数接收一个数组，能够将数组内的值从小到大排序，并返回新数组
        var arr = [6, 5, 4, 3, 2, 1];
            // function fn(arr) {
            //     for (var i = 0; i < arr.length; i++) {
            //         for (var j = 0; j < arr.length; j++) {
            //             if (arr[j] >= arr[j + 1]) {
            //                 var num = 0;
            //                 num = arr[j];
            //                 arr[j] = arr[j + 1];
            //                 arr[j + 1] = num;
            //             }
            //         }
            //     }
            //     return arr;
            // }
            // var arr1 = fn(arr);
            // console.log(arr1);
            function fn(arr){
                var length = arr.length - 1
               for(var i = 0; i < arr.length; i++){
               for(var j = 0; j < arr.length -i;i++){
                 if(arr[j]>arr[j]){
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
          }
          return arr;
        }
        console.log(fn([6, 5, 4, 3, 2, 1]));
    </script>
</body>

</html>